Cátedra 20 - Online

Problema de salón invertido

La idea es ver este video (https://youtu.be/3dBRzwpj4JQ) antes de la cátedra (lunes 18 de agosto, 16:50 hrs). En el problema se aborda el problema de procesar un string de registros que indican el consumo calórico de realizar una hora de distintas formas de actividad física, por ejemplo,

karate 800|marcha 400|escalada 1200|esgrima 500

pero que, además dado un número entero de input, el programa reporte el nombre de una actividad física y su consumo calórico por separado.

Ejemplo. Para los inputs

karate 800|marcha 400|escalada 1200|esgrima 500
1

El programa genera como output

actividad: marcha
kcal/hora: 800

Solución. El código desarrollado durante el video es:

x = input() n = int(input()) # 1. extraemos un registro del string act = 0 buf = "" for c in x: if c == "|": act = act + 1 elif act == n: buf = buf + c # 2. for-range para identificar el indice del espacio i_esp = 0 for i in range(len(buf)): if buf[i] == " ": i_esp = i # 3. extraemos el nombre de la actividad y las kilocalorias/hora actividad = buf[ : i_esp ] kilocalor = buf[ 1 + i_esp : ] # 4. resultado print("actividad:", actividad) print("kcal/hora:", kilocalor)